package cn.donting.jme.swing.drag;

import cn.hutool.core.io.FileUtil;

import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.io.File;

/**
 * 用于文件拖动的 Transferable
 */
public class FileTransferable implements Transferable {

    private File file;
    private DataFlavor[] dataFlavor;

    public FileTransferable(File file) {
        this.file = file;
        dataFlavor = new DataFlavor[]{EditorDataFlavor.getFileDataFlavor(file)};
    }

    @Override
    public DataFlavor[] getTransferDataFlavors() {
        return dataFlavor;
    }

    @Override
    public boolean isDataFlavorSupported(DataFlavor flavor) {
        for (DataFlavor dataFlavor1 : dataFlavor) {
            if (flavor.getMimeType().equals(dataFlavor1.getMimeType())) {
                return true;
            }
        }
        return false;
    }

    @Override
    public Object getTransferData(DataFlavor flavor) {
        return file;
    }



}
